package main
import "fmt"
//import "sort"
import "strings"
func main(){

	// sliceMap:=make([]map[string]string,3,3)
	// if sliceMap[0]==nil{
	// 	sliceMap[0]=make(map[string]string)
	// 	sliceMap[0]["name"]="zhangsan"
	// 	sliceMap[0]["age"]="18"
	// 	sliceMap[0]["sex"]="male"
	// }
	// if sliceMap[1]==nil{
	// 	sliceMap[1]=make(map[string]string)
	// 	sliceMap[1]["name"]="lisi"
	// 	sliceMap[1]["id"]="456123"
	// 	sliceMap[1]["sex"]="female"
	// }
	// if sliceMap[2]==nil{
	// 	sliceMap[2]=make(map[string]string)
	// 	sliceMap[2]["name"]="wangwu"
	// 	sliceMap[2]["id"]="788995"
	// 	sliceMap[2]["sex"]="male"
	// }
	
	// fmt.Println(sliceMap)


	// for _,v:=range sliceMap{
	// 	for key,val:=range v{
	// 		fmt.Printf("key=%v val=%v\n",key,val)
	// 	}
	// 	fmt.Println()
	// }


	//值为切片的map
	// var sliceMap=make(map[string][]string)
	// sliceMap["work"]=[]string{
	// 	"java",
	// 	"golang",
	// 	"cpp",
	// }
	// sliceMap["hobby"]=[]string{
	// 	"ping pong",
	// 	"backetbool",
	// 	"football",
	// }
	// for k,v:=range sliceMap{
	// 	fmt.Printf("k=%v v=%v\n",k,v)
	// 	for key,val:=range v{
	// 		fmt.Printf("key=%v val=%v\n",key,val)
	// 	}
	// }
	// fmt.Println(sliceMap)


	//值类型有 内置类型 数组
	//引用类型 有map 切片
	// userinfo:=make(map[string]string)
	// userinfo["name"]="zhangsan"
	// userinfo["age"]="18"
	// userinfo["sex"]="male"
	// userinfo2:=userinfo
	// fmt.Println(userinfo)
	// fmt.Println(userinfo2)
	// userinfo2["name"]="lisi"
	// fmt.Println(userinfo)
	// fmt.Println(userinfo2)

	// //奖map中的val,按key的升序打印
	// sliceMap:=make(map[int]string)
	// sliceMap[10]="wangxin"
	// sliceMap[9]="zhangfei"
	// sliceMap[8]="guanyu"
	// sliceMap[0]="lisi"
	// sliceMap[1]="zhangsan"
	// sliceMap[2]="wangwu"
	
	// var sliceKey []int
	
	// for key,_:=range sliceMap{
	// 	sliceKey=append(sliceKey,key)
	// }
	// fmt.Println(sliceKey)
	// sort.Ints(sliceKey)
	// fmt.Println(sliceKey)
	// for _,val:=range sliceKey{
	// 	fmt.Printf("key=%v value=%v\n",val,sliceMap[val])
	// }


	var str string="how do you do"
	//统计每个单词出现的次数
	//调用strings中的Split
	sliceStr:=strings.Split(str," ")

	strMap:=make(map[string]int)
	for _,val:=range sliceStr{
		strMap[val]++;
	}
	fmt.Printf("strMap=%v\n",strMap)



}
